package com.hnjfzn.mall.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.math.BigDecimal;
import java.util.Date;

public class Product {

    @TableId(value = "product_id", type = IdType.ASSIGN_ID) // Primary key for Product
    private Long productId;              // 商品ID

    @TableField("product_Name")
    private String productName;          // 商品名称

    @TableField("product_Description")  // 商品描述
    private String productDescription;

    @TableField("supplier_id")
    private Long supplierId;             // 供应商ID

    @TableField("category_id")
    private Long categoryid;             // 商品分类ID

    @TableField("price")
    private BigDecimal price;            // 商品价格

    @TableField("stock_quantity")
    private Integer stockQuantity;       // 商品库存数量

    @TableField("create_time")
    private Date createTime;             // 商品添加时间

    @TableField("update_time")
    private Date updateTime;             // 商品更新时间

    @TableField("create_by")
    private String createBy;             // 创建人

    @TableField("update_by")
    private String updateBy;             // 修改人

    @TableField("status")
    private Integer status;              // 商品状态

    @TableField("remark")
    private String remark;               // 备注

    // Getters and Setters
    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductDescription() {
        return productDescription;
    }

    public void setProductDescription(String productDescription) {
        this.productDescription = productDescription;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public Long getCategoryid() {
        return categoryid;
    }

    public void setCategoryid(Long categoryid) {
        this.categoryid = categoryid;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getStockQuantity() {
        return stockQuantity;
    }

    public void setStockQuantity(Integer stockQuantity) {
        this.stockQuantity = stockQuantity;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "Product{" +
                "productId=" + productId +
                ", productName='" + productName + '\'' +
                ", productDescription='" + productDescription + '\'' +
                ", supplierId=" + supplierId +
                ", categoryid=" + categoryid +
                ", price=" + price +
                ", stockQuantity=" + stockQuantity +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", createBy='" + createBy + '\'' +
                ", updateBy='" + updateBy + '\'' +
                ", status=" + status +
                ", remark='" + remark + '\'' +
                '}';
    }
}
